Field of Disclosure
The present disclosure relates to an improved method of and apparatus for developing and deploying mobile Web-based scan task enabled applications, in diverse environments, without the shortcomings and drawbacks of prior art methodologies.
Brief Overview of the State of the Art
Over the past few decades, barcode scanning has become a popular means for acquiring data in diverse fields, including mobile computing applications.
With the commercial availability of mobile phones equipped with integrated cameras, (e.g. Apple® iPhone 4, Blackberry® smartphones, HTC® smartphones, etc), numerous web-based mobile applications have been developed using imaging-based bar code symbol reading methods.
After scanning a bar code symbol and acquiring scanned identification (ID) data, most computer applications process the scanned ID, display its detail information, and store it in database. In applications, only a single task is involved. For example, at the supermarket checkout point, the application only needs to scan all items in the shopping cart and then sum up their price.
However, there is a growing trend to scan different type barcodes for different purposes in a single application. For example, in a mobile nursing system deployed on hospital, a nurse (i) sometimes needs to scan the patient's ID (e.g. barcoded ID bracelet assigned to the patient by hospital administrators) to review the patient's states, (ii) sometimes need to scan medicine ID to check if it is on his prescription with same scanner, and (iii) so on. The application must know how to process its scanned ID to meet user expectations.
In traditional scanner-driven or scanner-supported Web-based applications, involving portable symbol scanning mobile computers and phones, developers must write specific code for each and every scan context, that might take place in a given web-based application. Consequently, during the development phase of such conventional systems, all scan tasks must be hard-coded and binded to a specific event handler function, embedded within each web page generated by JAVA, aspx, php or other code. This programming requirement forces developers to (i) create a scan event handler function for every page, and (ii) define the scan response action in the server's event handler function after scanning a barcode. Consequently, this creates enormous programming work for system developers, and significantly reduces system flexibility. Also, web application developers are currently required to develop different native versions of a mobile multi-scan task web application, for deployment on different platforms (e.g. the Apple iPhone™, Blackberry® Smart Phone™, and Android™ Smart Phone platforms).
However, due to the stateless connection of web based applications, it is difficult to get the “context” for a scanning ID. Thus, a web page does not know how to use a scanned ID (i.e. whether or not to add item to list, update control state, get content from server according to the scanned ID, or navigate to a new page, and so on). Here, “context” means user purpose for the scanning, which determines what to do after the scanning. The context determines how to deal with a scanned ID. In a web based mobile nursing system, for example, the web browser is informed of the page to be displayed now, but it does not know how to deal with a scanned ID for the page.
A number of prior art systems have been proposed for enabling scanning operations in web-based applications.
U.S. Pat. No. 7,537,166 B2 discloses a scanning data device integrated with a web server on it. Any browser connected to this server can set the device's scan parameters or extract data from scan device via network. This system uses formatted URL string as the command to server. Then the server parses the URL string and invokes the corresponding application. The emphasis of this disclosure is how to easily set the scan parameters for the handle device. It does not discuss the concept of scan tasks.
U.S. Pat. No. 7,472,081 discloses a shopping-assistant system using wireless communication. Using this system, shoppers can easily check out product items, view detailed product information, calculate the total price of their cart, etc. The system uses a scanner integrated to a vendor provided device, or cellar mobile phone, to scan a Universal Product Code (UPC) barcode on items in the store or mall. In this Patent, the scan task supported by this mobile device is very single, requires hard coding, and does not support multiple scan tasks.
US Patent Publication No. 2003/0101233 discloses a client-based device which supports only one scan task for scanning formatted barcodes that encode the URL of web sites, and avoid the need typing character strings for the site's web address.
US Patent Publication No. 2008/0040240 discloses a system comprising: a central database stores system data; a web server for serving a web site for customers to design their wish list, containing one or a set of products; and scan device for scanning product codes in mall or store, and uploading the scanned code information to the central database. The design wish list is realized as a web based application, but the scanning device is not a web application, and supports only a single scan task, namely scanning a product item.
Thus, there is a great need in the art to provide an improved method of and apparatus for developing and deploying mobile web-based scan-task enabled applications on a distributed client-server network architecture, while avoiding the shortcomings and drawback of prior art methodologies.